The global positioning system (GPS) is a satellite-based radio-navigation system built and operated by the United States Department of Defense. The system uses twenty-four satellites orbiting the earth at an altitude of about 11,000 miles with a period of about twelve hours. But more than twenty-four satellites may be present as additional spares. These satellites are placed in six different orbits such that at any time a minimum of six satellites are visible at any location on the surface of the earth except in the polar region. Each satellite transmits a time and position signal referenced to an atomic clock. A typical GPS receiver locks on to this signal and extracts the data contained in it. Using simultaneously received signals from a sufficient number of satellites, a GPS receiver can calculate its position, velocity, altitude, and time. The Russian government operated GLONASS and European Union proposed GALILEO are two other important satellite navigation systems.
The GPS receivers can operate in many modes. In a “hot start” mode, the receiver already has the time, its last position, and the information on satellite position (also known in the art as almanacs or ephemeris) stored in its memory. The receiver can use this stored information to determine which satellites are probably visible, and it can then lock on to those satellite signals in a short time. On the other hand, the receiver may have no prior data on its position, time, or almanacs stored. In this “cold start” mode, the receiver has to search for signals from all of the satellites present in the constellation. There are some other modes where partial information on time, position and almanacs are available and corresponding start mode is known as “warm start.”
The GPS receiver has to acquire and lock on to at least four satellites in order to derive the position, velocity and time. Usually, a GPS receiver has many parallel channels, each receiving signals from a separate visible GPS satellite. The acquisition of the satellite signals involves a two-dimensional search of frequency and the PRN code phase. Each satellite transmits a unique PRN code, which repeats every millisecond. The receiver locally generates a replica frequency and a replica code phase and correlates these with the received satellite signals. The PRN code has to be searched in at least 2046 phases and the frequency search depends upon the Doppler frequency due to relative motion between the satellite and the receiver. Additional frequency variation may result due to local oscillator instability.
When the satellite signal is strong the receiver can detect the presence of a satellite signal in a short time. But when the signal is weak a long signal correlation is needed and the integration or correlation needs to be coherent which requires large computation load. The signals may be weak due to an obstruction by foliage or buildings, or indoor operation. Special techniques are required to acquire the signal under these weak signal power conditions. One of the more widely used techniques under these conditions is known as assisted GPS (AGPS). This technique is used with GPS receivers in cell phones. In this method a cellular base station or server provides the ephemeris, time and data bit edge position to the GPS receiver in the cell phone so that it may acquire the satellite signal. This technique requires synchronization with the base station or server, and the service has to be provided by the cell phone operator. Consequently, it results in extra subscription charges and base station augmentation.
Due to the disadvantages with AGPS, it is desirable to be able to acquire weak GPS signals without outside assistance. Examples of this approach are disclosed in U.S. Pat. Nos. 5,271,034, 6,392,590, and 6,611,756. Most of the techniques described in these patents are not suitable when the received signal is extremely weak. This is because of the large computation involved in carrying out lengthy signal integrations and Fast Fourier Transforms (FFTs). In these techniques, the integration involves the summing of one-millisecond correlation values. A correlation value is obtained by comparing the samples of input signal with locally available PRN code samples over a one-millisecond interval under synchronized condition. The difference between the agreement and disagreement of the samples is this correlation value. In the case of perfect correlation and no presence of noise, the correlation value is equal to the number of samples in the one millisecond length, e.g., if the number of samples per code-length in one millisecond is 2046, then the perfect correlation value is 2046. But if the codes are not aligned this value may be −130 or +126 for 25% of the time or −2 for the remaining 75% of the time. Thus, in this case the detection of the received signal can be determined easily. In the presence of noise, however, the correct correlation value may not be 2046, but may have a lower value, and further when the signal is extremely weak it may not be able to determine the correct correlation. Under these circumstances, the receiver can estimate the correlation value over several consecutive milliseconds to arrive at a reasonable value. This summing up over several milliseconds is also known as coherent integration. The coherent integration requires that there are no sample reversals due to the residual carrier frequency. If there are reversals due to carrier frequency, the correlations may be carried out over non-reversed parts of the sample lengths and may be added by squaring each part which is known as non-coherent integration. Compared to non-coherent integration, coherent integration provides better results for the same integration length. To boost the weak signal power, long time integration is necessary. However, with the extension of integration time, the requirement of low residual carrier frequency becomes stricter for coherent integration. Furthermore, in many cases the receiver processor may not be able to meet the computational requirements of coherent integration.
Different navigational signals use different kinds of modulations. GPS L1 signal is a code division multiple access (CDMA) signal, which uses direct sequence to bi-phase modulate the carrier. Two kinds of codes are used for CDMA modulation. They are C/A code and P(Y) code. The C/A code modulated signal in the L1 frequency is the principal civilian ranging signal. One-millisecond correlation with corresponding pseudo-random noise (PRN) sequence is used for C/A code demodulation. In addition to the C/A codes, the GPS signal is also modulated with 50 bits/second data by bi-phase shift key (BPSK) modulation. Bit 1 corresponds to 0° phase shift while bit 0 corresponds to 180° phase shift. These data contain ephemeris, almanac, corrections etc., which describe satellite locations, health information, and the correction necessary to the space-borne clock. Without this information, correct user position and time can not be determined. So it is necessary to demodulate these data from received satellites ranging signals correctly. Further, when coherent integration time is longer than one data bit duration (20 milliseconds), which is required for weak signals, the signal sign inversion due to these data bits must be removed. So the knowledge of the data bit boundary is required. This data bit boundary is characterized by the change in the polarity of the one-millisecond correlation values over a length of 20 milliseconds or integer multiple of that interval. This reversal of the polarity of correlation values is the basis for estimating the edge of the data bit or more specifically bit transitions in the navigation signal.
As an aid to detection and demodulation of the data, a Frequency Lock Loop (FLL) is used to bring down the residual carrier frequency to a very low value. Further, a suitable length FFT computes this residual frequency. But under weak signal reception conditions, a long integration is employed. It is necessary to compensate for the variation in phase of successive one millisecond samples. A phase lock loop (PPL) may be used to further refine the above compensation. This will also improve the PVT (Position, Velocity and Time) values computed by the navigation engine of the GPS receiver. However, the PLL looses lock under dynamics and not usable under dynamic environment. On the other hand, the FLL is more stable but not accurate. There are some prior art solutions to address this problem. U.S. Pat. No. 507,731 discloses a PLL circuit which is updated by the estimated center frequency of a received signal based on an FFT. In U.S. Pat. Nos. 6,181,258 and 6,163,276, banks of PLLs are connected to the FFT output in a multi-frequency communication system. For more accurate determination of the residual frequency, a long FFT needs to be computed and for this purpose a sliding window technique has been reported in published US patent application 20050043887 but this refers to frequency estimation and not to the data polarity. Further, a weighted average of the frequency estimate is disclosed in published US patent application 20050063487.
Accordingly, there is a need for a robust PLL tracking scheme which also takes into account the Doppler rate of change and which can be used to determine the polarity or sign of navigation data bits of a received signal.